/*
 * author: VDaras
 */

#ifndef IMAGE_H
#define	IMAGE_H

#include "Blittable.h"
#include <string>

/*
 * Class handling surfaces which load images located on disk. The class' main
 * constraint is that the buffer should never be NULL. So:
 * - no default constructor is provided.
 * - the provided constructor throws an exception if the image could not be loaded
 *   for some reason.
 * - method for opening an image is private.
 */

namespace sdl
{

class Image : public Blittable
{
public:
    Image(const std::string &path);
    ~Image();

private:
    bool Open(const std::string &path);
};

};

#endif	/* IMAGE_H */

